This invention relates to a computer, and more particularly, to a computer for executing an application.
<Architecture of Distributed Application Infrastructure>
In recent years, some distributed application servers have a fixed architecture exhibiting high reliability, which provides an alternate server by ACT-STANDBY in advance, in order to facilitate scaling out of server nodes and ensure redundancy. In addition, there is proposed an architecture in which nodes that are arranged in a distributed manner are monitored, a status notification node notifies other nodes of a status of each node, and the respective nodes grasp the status of each other, thus taking over a node in which a failure has occurred.
In JP 2006-338624 A, there is disclosed a server access control system as an implementation example of such a distributed application server. In the server access control system disclosed in JP 2006-338624 A, the same IPv6 anycast address and multicast address are implemented on all servers, and the anycast address is used for access from a terminal 1. In a case of determining that a file cannot be provided in response to a file request received from the terminal 1, the server transmits a content of the file request to another server by using the multicast address, and notifies the terminal 1 of, as routing information, a unicast address of a server from which a message indicating that the file can be provided is first received. After receiving the routing information, the terminal 1 transmits a message addressed to the anycast address by adding thereto an IPv6 extension header including the received unicast address as the routing information.
<Load Balancing/Redundancy Management Technology on a General Application Server>
In a general application server, the following two methods are primarily employed in a case where throughput is increased by scaling out in order to handle a large volume of request processing.
The first method is processing distribution using a load balancing apparatus. Specifically, the load balancing apparatus such as an L4SW or an L7SW is placed in a previous stage of an application server group. An external system transmits a processing request to an IP address of the load balancing apparatus. The load balancing apparatus that has received the processing request distributes the processing based on a status of each application server placed in a subsequent stage. In a case of scaling out the application server, an application server to be added is registered in the load balancing apparatus. The load balancing apparatus allocates the received processing request to the added application server, to thereby cause the added application server to receive the processing request.
The second method is management of an address of an application server using a name server. Specifically, the name server for managing IP addresses of the application server group is placed. The name server monitors the status of each application server. The external system queries the name server about the IP address of an application server before transmitting a processing request to the application server, and transmits the processing request to the IP address received in response thereto. In the case of scaling out the application server, the application server to be added is registered in the name server. The name server returns the IP address of the added application server in response to the query about the IP address received from the external system, to thereby cause the added application server to receive the processing request.
<Load Balancing Policy Employed on General Application Server>
In general, in a case where a plurality of application servers are arranged by introducing a load balancing technology, the following two methods are primarily employed in terms of to which server a request received from the external system is to be allocated.
The first method is round robin. Specifically, in this method, requests received from the external system are allocated to a plurality of application servers in order. The round robin allows the requests received from the external system to be allocated to the respective application servers uniformly.
The second method is a method of distributing the processing based on loads imposed on application servers. Information that can be acquired from a plurality of application servers, such as CPU loads, memory usage amounts, and network utilization bandwidths of the application servers, is used to transfer the processing request to an application server having a low load at present. This method allows the load to be efficiently distributed based on the current load statuses of the respective application servers (see, for example, JP 2010-9449 A).